package com.yf.exam.modules.exam.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yf.base.api.api.dto.PagingReqDTO;
import com.yf.exam.modules.exam.dto.ExamApplyDTO;
import com.yf.exam.modules.exam.dto.request.ExamApplyAuditReqDTO;
import com.yf.exam.modules.exam.entity.ExamApply;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
* <p>
* 考试申请业务接口类
* </p>
*
* @author 聪明笨狗
* @since 2022-12-15 15:57
*/
public interface ExamApplyService extends IService<ExamApply> {

    /**
    * 分页查询数据
    * @param reqDTO
    * @return
    */
    IPage<ExamApplyDTO> paging(PagingReqDTO<ExamApplyDTO> reqDTO);

    /**
    * 添加或保存
    * @param reqDTO
    * @return
    */
    void save(ExamApplyDTO reqDTO);

    /**
    * 批量删除
    * @param ids
    * @return
    */
    void delete(List<String> ids);

    /**
    * 查找详情
    * @param id
    * @return
    */
    ExamApplyDTO detail(String id);


    /**
     * 处理申请
     * @param reqDTO
     */
    void audit(@RequestBody ExamApplyAuditReqDTO reqDTO);

    /**
     * 查找申请是否通过
     * @param userId
     * @param examId
     * @return
     */
    boolean pass(String userId, String examId);


    /**
     * 使用授权
     * @param userId
     * @param examId
     */
    void useAudit(String userId, String examId);

}
